#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
//main函数有参数吗？有
//最多有多少个？
//这里的env是我们父进程传递给我们的
//int main(int argc,char *argv[],char *env[])//这里的*argv是一个指针数组，argc是一个数组的元素个数

extern char **environ;//声明一下，不然的话是会进行报错的

int main(int argc,char *argv[])//这里的*argv是一个指针数组，argc是一个数组的元素个数
{
  //我们这里的写法就是让我们的变量应用一下，以便我们的编译器不会进行报错
  (void)argc;
  (void)argv;
  

  for(int i=0;environ[i];i++)
  {
    printf("env[%d]:%s\n",i,environ[i]);//env最后是以NULL结尾的

  }

//  const char *who=getenv("USER");
//  if(who==NULL) return 1 ;
//
//  if(strcmp(who,"kk")==0)
//  {
//    printf("这是程序的正常执行逻辑\n");
//  }
//  else 
//  {
//    printf("Only kk!!\n");
//  }
//


 // char *value=getenv("PATH");//获取一个我们当前知道的一个环境变量
  //if(value==NULL)return 1;

 // printf("PATH->%s\n",value);
  //for(int i=0;env[i];i++)
  //{
    //printf("env[%d]:%s\n",i,env[i]);//env最后是以NULL结尾的
  //}
//  if(argc!=2)
//  {
//    printf("Usage:%s [-a|-b|-c]\n",argv[0]);
//    return 0;
//  }
//  const  char *arg=argv[1];
//
//  if(strcmp(arg, "-a")==0)
//    printf("这是功能1\n");
//  else if(strcmp(arg, "-b")==0)
//    printf("这是功能2\n");
//  else if(strcmp(arg, "-c")==0)
//    printf("这是功能3\n");
//  else 
//    printf("Usage:%s [-a|-b|-c]\n",argv[0]);
//
//
  ////将我们argv数组中的元素一个个打出来
  //for(int i=0;i<argc;i++)
  //{
  //  printf("argv[%d]:%s\n",i,argv[i]);
  //}
  return 0;
}
